﻿using System;
using System.Collections.Generic;
using System.Text;
using Manager.App_Code.IDAL;
using Manager.App_Code.DTO;
using System.Data;

namespace Manager.App_Code.DAL
{
    class TienTeDAL:StandardConnectDB,ITienTe
    {
        public List<DTO.TienTeDTO> GetAllTienTe()
        {
            List<TienTeDTO> listTien = new List<TienTeDTO>();

            DataTable dt = this.DTExecuteSelect("Select * from TienTe");

            foreach (DataRow dr in dt.Rows)
            {
                listTien.Add(ConvertObjectDataRowToTienTeDTODataRow(dr));
            }
            return listTien;
        }

        public TienTeDTO GetTienTeByID(string MaDonVi)
        {
            TienTeDTO tien = new TienTeDTO();
            
            Dictionary<string, object> paramlist = new Dictionary<string, object>();
            
            paramlist.Add("@MaDonVi", MaDonVi);

            DataTable dt = this.DTExecuteSelect("SP_TienTe_GetByID",paramlist);
            
            tien = ConvertObjectDataRowToTienTeDTODataRow(dt.Rows[0]);

            return tien;

        }

        public bool InsertTienTe(DTO.TienTeDTO tiente)
        {
            throw new NotImplementedException();
        }

        public bool UpdateTienTe(DTO.TienTeDTO tiente)
        {
            throw new NotImplementedException();
        }

        public bool DeleteTienTe(DTO.TienTeDTO tiente)
        {
            throw new NotImplementedException();
        }

        public DTO.TienTeDTO ConvertObjectDataRowToTienTeDTODataRow(System.Data.DataRow dr)
        {
            if (dr != null)
            {
                TienTeDTO tiente = new TienTeDTO();
                tiente.MaDonVi = dr["MaDonVi"].ToString();
                tiente.TenDonVi = dr["TenDonVi"].ToString();
                tiente.TyGiaThamKhao = double.Parse(dr["TyGiaThamKhao"].ToString());
                tiente.GhiChu = dr["GhiChu"].ToString();

                return tiente;

            }
            else
                return null;
            
        }


       
    }
}
